Parallel Skeletons In Glasgow Distributed Haskell

نویسنده

  • Yong Lu
چکیده

Parallel programming is an important tool when trying to handle large problems that can not be dealt with using conventional single processors systems; either parallel machines or clusters of machines are used to provide the computational power needed. However parallel programming is an inherently difficult task and any tool or language that can provide suitable abstractions making the programming of these systems easier, without sacrificing the much needed performance, is of greatest importance. Skeleton programming provides a high level of abstraction, where common patterns (or skeletons) of programmes are constructed and later instantiated with the actual problem. “Skeleton Parallelism” is analogously skeletons for parallel systems. Haskell is functional language at the cutting edge of language development, at the same time as it is a mature language system with a great range of libraries and support tools. There are several variants of Haskell that supports parallel and distributed programming and we are going to investigate how two of these can bee used with Skeleton programming. The two Haskell variants are Glasgow parallel Haskell (GpH) and Glasgow distributed Haskell (GdH), both are conservative extensions of Haskell but with the difference that the parallelism is implicitly controlled in GpH as opposed to the explicit control of GdH. We have implemented two skeletons, Map and Divide and Conquer, in both GpH and GdH and for Map we have measured and analysed the runtimes of several variants on both regular and irregular data sets. For the Divide and Conquer skeleton we have performed the experiments only on regular data. The experiments suggested that GdH scales better with the number of processing elements but is at the same time less easy to use since it introduces more new concepts into the language.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Eden - Parallel Functional Programming with Haskell

Eden is a parallel functional programming language which extends Haskell with constructs for the definition and instantiation of parallel processes. Processes evaluate function applications remotely in parallel. The programmer has control over process granularity, data distribution, communication topology, and evaluation site, but need not manage synchronisation and data exchange between proces...

متن کامل

Low level Architecture - independence of Glasgow ParallelHaskell ( GpH )

In principle, pure functional languages promise straightforward architecture-independent parallelism. We investigate the validity of this claim in the context of our highly-portable implementation of an implicitly-parallel functional language: the GUM implementation of Glasgow Parallel Haskell (GpH). We focus here on the low-level architecture independence of GUM: the high-level architecture in...

متن کامل

Architecture aware parallel programming in Glasgow parallel Haskell (GPH)

General purpose computing architectures are evolving quickly to become manycore and hierarchical: i.e. a core can communicate more quickly locally than globally. To be effective on such architectures, programming models must be aware of the communications hierarchy. This thesis investigates a programming model that aims to share the responsibility of task placement, load balance, thread creatio...

متن کامل

Go-faster Haskell Or: Data-intensive Programming in Parallel Haskell Draft

We have recently constructed an integrated programming environment to support programming in Glasgow Parallel Haskell GpH. This paper descibes the construction of several data-intensive parallel programs using the environment. It focuses on a road-traac accident application because it is a real problem with real data, and is the rst non-trivial GpH program to achieve wall-clock speedups | a fac...

متن کامل

Engineering Large Parallel Functional Programs

The design and implementation of useful programming languages , whether sequential or parallel, should be driven by large, realistic applications. In constructing several medium-and large-scale programs in Glasgow Parallel Haskell, GpH, a parallel extension of Haskell, the group at Glasgow has investigated several important engineering issues: { Real Application Parallelism. The programs achiev...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003